iT邦幫忙

2023 iThome 鐵人賽

DAY 29
0

前言

  • 因為放到 ECS Fargate 的作法,會拿到海外 IP,中秋節大家都去放假了
  • 所以先採用連進公司內網,部署定時執行容器的方式來製作每週自動觸發的任務

Crontab

  • 參考鳥哥私房菜,理解只要在 Linux 系統上 crontab -e 編輯工作排程,就可以在指定的時間規則下,觸發指令
  • crontab 的寫法格式
    • 開頭,是用五個數字值或關鍵字,分別表示 一週裡的第幾天
    • 後面,接上要被執行的指令
  • 以下為本次的修改:為了釐清工作能不能觸發,所以先用鄰近的時間,例如晚上十點三十一分 (22:31)
31 22 * * * /home/ubuntu/exec/run_asana_to_ppt.sh > /home/ubuntu/exec/log.txt
  • 去觸發家目錄下的 exec/run_asana_to_ppt.sh,我把呼叫容器起來執行的指令包在 run_asana_to_ppt.sh,除了避免一些機敏資訊進到 history 之外,也可讓 crontab 內容看起來沒那麼亂
  • 而這個指令跑下去之後會有一些訊息吐出來,如果沒有 pipe 到 log 則會報錯
Sep 30 14:28:02 ip-10-0-11-245 CRON[428180]: (CRON) info (No MTA installed, discarding output)
  • 使用 grep 查看系統 log 協助知道 CRON 的 log
grep CRON /var/log/syslog

結論

  • 成功將容器擺放到公司內網後,還做了一個小設定
    https://ithelp.ithome.com.tw/upload/images/20230930/20141784m2uYLL1Mek.png
  • 在容器起來之後,先把 ex.xxx.com 的 private IP 寫在 /etc/hosts 如此在訪問 Mail Server 的時候優先會將其位置視為 192.168.xxx.xxx
  • 收信來驗證
    https://ithelp.ithome.com.tw/upload/images/20230930/201417844qIVlBA1ES.png
  • 上線之前,另外還需要把觸發的時間還需要改成每週日晚上
  • 最後只差把收件人改成老闆和組員們,就大功告成了

上一篇
Day 28 - 定義 ECS Task 及運行容器
下一篇
Day 30 - 使用 Github Actions 自動化更新環境
系列文
挽救肝指數 x 職場生存術 x 老闆愛看的投影片製造機30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言